﻿Imports System
Imports System.IO

Public Class Main

    Public filepath As String
    Dim choice As Integer
    Dim z As Integer = 0
    Dim fileReader As New FileReader
    Dim fileWriter As New FileWriter
    Public disableFocus As Boolean
    Dim changelogPath As String = "Changelog.txt"

    Private Sub Main_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        filepath = "saved_player\" & txtPlayerName.Text & ".txt"
        If Directory.Exists("saved_player\") = False Then Directory.CreateDirectory("saved_player\")

        If File.Exists(changelogPath) = False Then
            ChangelogWriter()
        ElseIf File.Exists(changelogPath) = True Then
            For Each line As String In File.ReadAllLines(changelogPath)
                If V20ToolStripMenuItem.Text > line.Trim(V20ToolStripMenuItem.Text) Then ChangelogWriter()
            Next
        End If

        lblUSA.Top = clboxUKLight.Top + clboxUKLight.Size.Height + 3
        lblUSALight.Top = lblUSA.Top + lblUSA.Size.Height
        lblUSAMedium.Top = lblUSA.Top + lblUSA.Size.Height
        lblUSAHeavy.Top = lblUSA.Top + lblUSA.Size.Height
        lblUSATD.Top = lblUSA.Top + lblUSA.Size.Height
        lblUSASPG.Top = lblUSA.Top + lblUSA.Size.Height
        lblUSAPremium.Top = lblUSA.Top + lblUSA.Size.Height
        clboxUSALight.Top = lblUSALight.Top + lblUSALight.Size.Height + 3
        clboxUSAMedium.Top = lblUSALight.Top + lblUSALight.Size.Height + 3
        clboxUSAHeavy.Top = lblUSALight.Top + lblUSALight.Size.Height + 3
        clboxUSATD.Top = lblUSALight.Top + lblUSALight.Size.Height + 3
        clboxUSASPG.Top = lblUSALight.Top + lblUSALight.Size.Height + 3
        clboxUSAPremium.Top = lblUSALight.Top + lblUSALight.Size.Height + 3
        lblUSSR.Top = clboxUSALight.Top + clboxUSALight.Size.Height + 3
        lblUSSRLight.Top = lblUSSR.Top + lblUSSR.Size.Height
        lblUSSRMedium.Top = lblUSSR.Top + lblUSSR.Size.Height
        lblUSSRHeavy.Top = lblUSSR.Top + lblUSSR.Size.Height
        lblUSSRTD.Top = lblUSSR.Top + lblUSSR.Size.Height
        lblUSSRSPG.Top = lblUSSR.Top + lblUSSR.Size.Height
        lblUSSRPremium.Top = lblUSSR.Top + lblUSSR.Size.Height
        clboxUSSRLight.Top = lblUSSRLight.Top + lblUSSRLight.Size.Height + 3
        clboxUSSRMedium.Top = lblUSSRLight.Top + lblUSSRLight.Size.Height + 3
        clboxUSSRHeavy.Top = lblUSSRLight.Top + lblUSSRLight.Size.Height + 3
        clboxUSSRTD.Top = lblUSSRLight.Top + lblUSSRLight.Size.Height + 3
        clboxUSSRSPG.Top = lblUSSRLight.Top + lblUSSRLight.Size.Height + 3
        clboxUSSRPremium.Top = lblUSSRLight.Top + lblUSSRLight.Size.Height + 3
        Me.Size = New Size(1155, 700)
        PictureBox.Size = New Size(Me.Size.Width - 15, 89)
        Panel.Size = New Size(Me.Size.Width - 32, clboxUSSRLight.Top + clboxUSSRLight.Size.Height)
        VScrollBar.Size = New Size(17, Me.Size.Height - 145)
        VScrollBar.Maximum = Panel.Height - 400
    End Sub

    Private Sub Main_Resize(sender As Object, e As System.EventArgs) Handles Me.Resize
        VScrollBar.Left = Me.Size.Width - 33
        VScrollBar.Height = Me.Size.Height - 145
        PictureBox.Width = Me.Size.Width - 15
        Panel.Size = New Size(Me.Size.Width - 32, clboxUSSRLight.Top + clboxUSSRLight.Size.Height)
    End Sub

    Private Sub txtPlayerName_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtPlayerName.TextChanged
        filepath = "saved_player\" & txtPlayerName.Text & ".txt"
        If File.Exists(filepath) = True Or txtPlayerName.Text = "" Then
            lblNoPlayer.Visible = False
        Else
            lblNoPlayer.Visible = True
        End If
    End Sub

    Private Sub btnWrite_Click(sender As System.Object, e As System.EventArgs) Handles btnWrite.Click
        fileWriter.Write()
    End Sub

    Private Sub btnDelete_Click(sender As System.Object, e As System.EventArgs) Handles btnDelete.Click
        If File.Exists(filepath) = True Then
            choice = MsgBox("Are you sure want to delete this player?", MsgBoxStyle.YesNo, Title:="Are you sure?")
            If choice = 6 Then
                File.Delete(filepath)
                MsgBox("Player deleted.", MsgBoxStyle.Information, Title:="Information")
            ElseIf choice = 7 Then
                Exit Sub
            End If
        Else
            MsgBox("Player does not exist.", MsgBoxStyle.Critical, Title:="Error!")
        End If
    End Sub

    Private Sub btnExit_Click(sender As System.Object, e As System.EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub

    Private Sub btnRead_Click(sender As System.Object, e As System.EventArgs) Handles btnRead.Click
        fileReader.Read()
    End Sub

    Private Sub btnOpen_Click(sender As System.Object, e As System.EventArgs) Handles btnOpen.Click
        Process.Start(filepath)
    End Sub

    Private Sub btnDebug_Click(sender As System.Object, e As System.EventArgs) Handles btnDebug.Click
        txtPlayerName.Text = "test"

        Dim x As Integer

        For x = 0 to clboxChinaLight.Items.Count - 1
           	clboxChinaLight.SetItemChecked(x, True)
        Next
           	
      	For x = 0 to clboxChinaMedium.Items.Count - 1
       		clboxChinaMedium.SetItemChecked(x, True)
       	Next
            	
       	For x = 0 to clboxChinaHeavy.Items.Count - 1
            clboxChinaHeavy.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxChinaPremium.Items.Count - 1
        	clboxChinaPremium.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxFrenchLight.Items.Count - 1
        	clboxFrenchLight.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxFrenchMedium.Items.Count - 1
        	clboxFrenchMedium.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxFrenchHeavy.Items.Count - 1
        	clboxFrenchHeavy.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxFrenchTD.Items.Count - 1
        	clboxFrenchTD.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxFrenchSPG.Items.Count - 1
        	clboxFrenchSPG.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxFrenchPremium.Items.Count - 1
        	clboxFrenchPremium.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxGermanLight.Items.Count - 1
        	clboxGermanLight.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxGermanMedium.Items.Count - 1
        	clboxGermanMedium.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxGermanHeavy.Items.Count - 1
        	clboxGermanHeavy.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxGermanTD.Items.Count - 1
        	clboxGermanTD.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxGermanSPG.Items.Count - 1
            clboxGermanSPG.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxGermanPremium.Items.Count - 1
            clboxGermanPremium.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUKLight.Items.Count - 1
            clboxUKLight.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUKMedium.Items.Count - 1
        	clboxUKMedium.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUKHeavy.Items.Count - 1
        	clboxUKHeavy.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUKTD.Items.Count - 1
        	clboxUKTD.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUKPremium.Items.Count - 1
        	clboxUKPremium.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUSALight.Items.Count - 1
        	clboxUSALight.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUSAMedium.Items.Count - 1
        	clboxUSAMedium.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUSAHeavy.Items.Count - 1
        	clboxUSAHeavy.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUSATD.Items.Count - 1
        	clboxUSATD.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUSASPG.Items.Count - 1
        	clboxUSASPG.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUSAPremium.Items.Count - 1
        	clboxUSAPremium.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUSSRLight.Items.Count - 1
        	clboxUSSRLight.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUSSRMedium.Items.Count - 1
        	clboxUSSRMedium.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUSSRHeavy.Items.Count - 1
        	clboxUSSRHeavy.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUSSRTD.Items.Count - 1
        	clboxUSSRTD.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUSSRSPG.Items.Count - 1
        	clboxUSSRSPG.SetItemChecked(x, True)
        Next
            	
        For x = 0 to clboxUSSRPremium.Items.Count - 1
        	clboxUSSRPremium.SetItemChecked(x, True)
        Next
            	
    End Sub

    Private Sub ChangelogToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ChangelogToolStripMenuItem.Click
        Try
            For Each line As String In System.IO.File.ReadAllLines(changelogPath)
                If V20ToolStripMenuItem.Text > line.Trim(V20ToolStripMenuItem.Text) Then ChangelogWriter()
            Next
            Process.Start("Changelog.txt")
        Catch ex As Exception
            ChangelogWriter()
            Process.Start("Changelog.txt")
        End Try
    End Sub

    Private Sub CurrentFeaturesToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles CurrentFeaturesToolStripMenuItem.Click
        CurrentFeatures.Show()
        disableFocus = True
    End Sub

    Private Sub FutureFeaturesToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles FutureFeaturesToolStripMenuItem.Click
        FutureFeatures.Show()
        disableFocus = True
    End Sub

    Private Sub CheckForUpdatesToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles CheckForUpdatesToolStripMenuItem.Click
        Process.Start("http://code.google.com/p/wot-player-garage-tracker/downloads/list")
    End Sub

    Private Sub DisableToolTipsToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles DisableToolTipsToolStripMenuItem.Click
        If DisableToolTipsToolStripMenuItem.Checked = True Then
            ToolTip.Active = False
            UpdatePlayerToolStripMenuItem.ToolTipText = ""
            RemovePlayerToolStripMenuItem.ToolTipText = ""
            LoadPlayerToolStripMenuItem.ToolTipText = ""
            ExitToolStripMenuItem.ToolTipText = ""
            DisableToolTipsToolStripMenuItem.ToolTipText = ""
            ChangelogToolStripMenuItem.ToolTipText = ""
            CurrentFeaturesToolStripMenuItem.ToolTipText = ""
            FutureFeaturesToolStripMenuItem.ToolTipText = ""
            CheckForUpdatesToolStripMenuItem.ToolTipText = ""
            V20ToolStripMenuItem.ToolTipText = ""
        Else
            ToolTip.Active = True
            UpdatePlayerToolStripMenuItem.ToolTipText = "Click to add a new player or update a current player."
            RemovePlayerToolStripMenuItem.ToolTipText = "Delete a player's file."
            LoadPlayerToolStripMenuItem.ToolTipText = "Load the player specified in the text box."
            ExitToolStripMenuItem.ToolTipText = "Click to exit the program."
            DisableToolTipsToolStripMenuItem.ToolTipText = "Click to disable tool tips."
            ChangelogToolStripMenuItem.ToolTipText = "Click to view the changes made in the last update."
            CurrentFeaturesToolStripMenuItem.ToolTipText = "Click to view current features."
            FutureFeaturesToolStripMenuItem.ToolTipText = "Click to view planned features."
            CheckForUpdatesToolStripMenuItem.ToolTipText = "Click to open an Internet browser and check for an update."
            V20ToolStripMenuItem.ToolTipText = "The version of the program."
        End If
    End Sub

    Private Sub UpdatePlayerToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles UpdatePlayerToolStripMenuItem.Click
        fileWriter.Write()
    End Sub

    Private Sub RemovePlayerToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles RemovePlayerToolStripMenuItem.Click
        If File.Exists(filepath) = True Then
            choice = MsgBox("Are you sure want to delete this player?", MsgBoxStyle.YesNo, Title:="Are you sure?")
            If choice = 6 Then
                File.Delete(filepath)
                MsgBox("Player deleted.", MsgBoxStyle.Information, Title:="Information")
            ElseIf choice = 7 Then
                Exit Sub
            End If
        Else
            MsgBox("Player does not exist.", MsgBoxStyle.Critical, Title:="Error!")
        End If
    End Sub

    Private Sub ExitToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ExitToolStripMenuItem.Click
        Me.Close()
    End Sub

    Private Sub LoadPlayerToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles LoadPlayerToolStripMenuItem.Click
        fileReader.Read()
    End Sub

    Private Sub WoTDatabaseToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles WoTDatabaseToolStripMenuItem.Click
        Process.Start("http://www.wotdb.info")
    End Sub

    Private Sub OfficialWoTWikiToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles OfficialWoTWikiToolStripMenuItem.Click
        Process.Start("http://wiki.worldoftanks.com/Main_Page")
    End Sub

    Private Sub VScrollBar_Scroll(sender As System.Object, e As System.Windows.Forms.ScrollEventArgs) Handles VScrollBar.Scroll
        If z > VScrollBar.Value Then
            Panel.Top = Panel.Top + (z - VScrollBar.Value)
        ElseIf z < VScrollBar.Value Then
            Panel.Top = Panel.Top - (VScrollBar.Value - z)
        End If
        z = VScrollBar.Value
    End Sub

    Protected Overrides Sub OnMouseWheel(e As System.Windows.Forms.MouseEventArgs)
        MyBase.OnMouseWheel(e)
        If e.Delta < 0 Then
            Try
                VScrollBar.Value += 151
            Catch ex As Exception
                Exit Sub
            End Try
            Panel.Top -= 151
        Else
            Try
                VScrollBar.Value -= 151
            Catch ex As Exception
                Exit Sub
            End Try
            Panel.Top += 151
        End If
    End Sub

    Private Sub Panel_MouseEnter(sender As System.Object, e As System.EventArgs) Handles Panel.MouseEnter
        If disableFocus = False Then
            Panel.Focus()
        End If
    End Sub

    Private Sub clboxChinaLight_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxChinaLight.MouseEnter
        If disableFocus = False Then
            clboxChinaLight.Focus()
        End If
    End Sub

    Private Sub clboxChinaMedium_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxChinaMedium.MouseEnter
        If disableFocus = False Then
            clboxChinaMedium.Focus()
        End If
    End Sub

    Private Sub clboxChinaHeavy_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxChinaHeavy.MouseEnter
        If disableFocus = False Then
            clboxChinaHeavy.Focus()
        End If
    End Sub

    Private Sub clboxChinaPremium_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxChinaPremium.MouseEnter
        If disableFocus = False Then
            clboxChinaPremium.Focus()
        End If
    End Sub

    Private Sub clboxFrenchLight_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxFrenchLight.MouseEnter
        If disableFocus = False Then
            clboxFrenchLight.Focus()
        End If
    End Sub

    Private Sub clboxFrenchMedium_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxFrenchMedium.MouseEnter
        If disableFocus = False Then
            clboxFrenchMedium.Focus()
        End If
    End Sub

    Private Sub clboxFrenchHeavy_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxFrenchHeavy.MouseEnter
        If disableFocus = False Then
            clboxFrenchHeavy.Focus()
        End If
    End Sub

    Private Sub clboxFrenchTD_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxFrenchTD.MouseEnter
        If disableFocus = False Then
            clboxFrenchTD.Focus()
        End If
    End Sub

    Private Sub clboxFrenchSPG_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxFrenchSPG.MouseEnter
        If disableFocus = False Then
            clboxFrenchSPG.Focus()
        End If
    End Sub

    Private Sub clboxFrenchPremium_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxFrenchPremium.MouseEnter
        If disableFocus = False Then
            clboxFrenchPremium.Focus()
        End If
    End Sub

    Private Sub clboxGermanLight_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxGermanLight.MouseEnter
        If disableFocus = False Then
            clboxGermanLight.Focus()
        End If
    End Sub

    Private Sub clboxGermanMedium_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxGermanMedium.MouseEnter
        If disableFocus = False Then
            clboxGermanMedium.Focus()
        End If
    End Sub

    Private Sub clboxGermanHeavy_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxGermanHeavy.MouseEnter
        If disableFocus = False Then
            clboxGermanHeavy.Focus()
        End If
    End Sub

    Private Sub clboxGermanTD_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxGermanTD.MouseEnter
        If disableFocus = False Then
            clboxGermanTD.Focus()
        End If
    End Sub

    Private Sub clboxGermanSPG_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxGermanSPG.MouseEnter
        If disableFocus = False Then
            clboxGermanSPG.Focus()
        End If
    End Sub

    Private Sub clboxGermanPremium_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxGermanPremium.MouseEnter
        If disableFocus = False Then
            clboxGermanPremium.Focus()
        End If
    End Sub

    Private Sub clboxUKLight_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUKLight.MouseEnter
        If disableFocus = False Then
            clboxUKLight.Focus()
        End If
    End Sub

    Private Sub clboxUKMedium_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUKMedium.MouseEnter
        If disableFocus = False Then
            clboxUKMedium.Focus()
        End If
    End Sub

    Private Sub clboxUKHeavy_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUKHeavy.MouseEnter
        If disableFocus = False Then
            clboxUKHeavy.Focus()
        End If
    End Sub

    Private Sub clboxUKPremium_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUKPremium.MouseEnter
        If disableFocus = False Then
            clboxUKPremium.Focus()
        End If
    End Sub

    Private Sub clboxUSALight_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUSALight.MouseEnter
        If disableFocus = False Then
            clboxUSALight.Focus()
        End If
    End Sub

    Private Sub clboxUSAMedium_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUSAMedium.MouseEnter
        If disableFocus = False Then
            clboxUSAMedium.Focus()
        End If
    End Sub

    Private Sub clboxUSAHeavy_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUSAHeavy.MouseEnter
        If disableFocus = False Then
            clboxUSAHeavy.Focus()
        End If
    End Sub

    Private Sub clboxUSATD_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUSATD.MouseEnter
        If disableFocus = False Then
            clboxUSATD.Focus()
        End If
    End Sub

    Private Sub clboxUSASPG_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUSASPG.MouseEnter
        If disableFocus = False Then
            clboxUSASPG.Focus()
        End If
    End Sub

    Private Sub clboxUSAPremium_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUSAPremium.MouseEnter
        If disableFocus = False Then
            clboxUSAPremium.Focus()
        End If
    End Sub

    Private Sub clboxUSSRLight_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUSSRLight.MouseEnter
        If disableFocus = False Then
            clboxUSSRLight.Focus()
        End If
    End Sub

    Private Sub clboxUSSRMedium_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUSSRMedium.MouseEnter
        If disableFocus = False Then
            clboxUSSRMedium.Focus()
        End If
    End Sub

    Private Sub clboxUSSRHeavy_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUSSRHeavy.MouseEnter
        If disableFocus = False Then
            clboxUSSRHeavy.Focus()
        End If
    End Sub

    Private Sub clboxUSSRTD_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUSSRTD.MouseEnter
        If disableFocus = False Then
            clboxUSSRTD.Focus()
        End If
    End Sub

    Private Sub clboxUSSRSPG_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUSSRSPG.MouseEnter
        If disableFocus = False Then
            clboxUSSRSPG.Focus()
        End If
    End Sub

    Private Sub clboxUSSRPremium_MouseEnter(sender As System.Object, e As System.EventArgs) Handles clboxUSSRPremium.MouseEnter
        If disableFocus = False Then
            clboxUSSRPremium.Focus()
        End If
    End Sub

    Private Sub ChangelogWriter()
        Dim changelog As String = "v5.4" & vbCrLf & "     - Enabled the Chinese Light, Medium, and Heavy boxes." & vbCrLf & "     - Updated the names to match those in WoT v8.3" & vbCrLf & "     - Fixed high tier U.K. tanks not being read." & vbCrLf & "v5.3.1" & vbCrLf & "     - Added new Premium T1E6" & vbCrLf & "     - Fixed some U.K. mediums not being read correctly." & vbCrLf & "v5.3" & vbCrLf & "     - Updated name's Russian Valentine and Matilda." & vbCrLf & "     - Replaced changelog form with a simple text file." & vbCrLf & "v5.2" & vbCrLf & "     - Updated various tanks to match spellings of those in game." & vbCrLf & "     - Fixed several tanks not being in the right categories." & vbCrLf & "v5.1" & vbCrLf & "     - Added new Chinese Lights, Mediums, and Heavies." & vbCrLf & "     - Added new French and British Premiums." & vbCrLf & "     - Fixed some boxes not working properly when reading files." & vbCrLf & "v5.0" & vbCrLf & "     - Added mouse wheel scroll to the main window, its labels and boxes." & vbCrLf & "     - Added mouse wheel scroll to the ChangeLog window." & vbCrLf & "     - Major code clean up." & vbCrLf & "     - Fixed an error where the program would check all tanks when reading a file." & vbCrLf & "     - Fixed MK.I, Churchill I, Churchill VII, and ELC AMX not being read correctly." & vbCrLf & "     - Fixed French Lights not being written correctly." & vbCrLf & "     - Fixed the focus bringing the main window to the front when using other windows this program uses." & vbCrLf & "v4.1" & vbCrLf & "     - Added missing PzV/M10" & vbCrLf & "v4.0" & vbCrLf & "     - Added British Light, Medium, and Heavy tanks." & vbCrLf & "     - Fixed French Lights not being read/written properly." & vbCrLf & "     - Moved British and Chinese Premium boxes under Germany." & vbCrLf & "v3.3" & vbCrLf & "     - Added several tanks found on WoT Wiki:" & vbCrLf & "          - Type 59 G" & vbCrLf & "          - PzKpfw IV Schmalturm" & vbCrLf & "          - PzKpfw V-IV Alpha" & vbCrLf & "          - KV-220 Beta Test" & vbCrLf & "          - SU-122-44" & vbCrLf & "     - Renamed M3 Stuart R to M3 Stuart Lend Lease." & vbCrLf & "     - Adjusted interface to fit new tanks." & vbCrLf & "     - Set program icon." & vbCrLf & "     - Dev specific:" & vbCrLf & "          - Change Log form's VScrollBar.Maximum now adjusts based on the size of the lblChangeLog.Height." & vbCrLf & "v3.2.1" & vbCrLf & "     - Changed 'Check for Updates' button." & vbCrLf & "v3.2" & vbCrLf & "     - Added Debug and Open buttons." & vbCrLf & "     - Fixed French Light box not being read correctly." & vbCrLf & "v3.1" & vbCrLf & "     - Added image icons." & vbCrLf & "v3.0" & vbCrLf & "     - Updated to WoT v0.8.0:" & vbCrLf & "          - Added the 4 new Russian TD's:" & vbCrLf & "               - SU-100M1" & vbCrLf & "               - SU-101" & vbCrLf & "               - SU-122-54" & vbCrLf & "               - Object 263" & vbCrLf & "          - Added new UK Premium: Matilda Black Prince." & vbCrLf & "     - Moved info source and link into the About Menu Strip." & vbCrLf & "     - Added Official WoT Wiki as info source." & vbCrLf & "     - Changed main form to be resizable and maximizable." & vbCrLf & "     - Added scroll bar to the main window." & vbCrLf & "     - Changelog window has changed:" & vbCrLf & "          - Full Changelog now displayed." & vbCrLf & "          - Added scroll bar." & vbCrLf & "          - Changed Exit button to be stretched across the bottom to prevent it from blocking text." & vbCrLf & "v2.3" & vbCrLf & "     - Added T26E4 SuperPershing." & vbCrLf & "     - Fixed grammar in Future Features text." & vbCrLf & "     - Fixed a loading player bug." & vbCrLf & "v2.2" & vbCrLf & "     - Updated for WoT v0.7.5" & vbCrLf & "     - Fixed buttons under 'File' menu." & vbCrLf & "v2.1" & vbCrLf & "     - Updated message boxes." & vbCrLf & "     - Added a way to opt out of deleting a player." & vbCrLf & "v2.0" & vbCrLf & "     - Added a menu strip across the top of the main window." & vbCrLf & "     - Added tool tips." & vbCrLf & "     - Added Changelog and Current/Future Features windows." & vbCrLf & "     - Added 2 Chinese Premium Tanks (not available on NA server)." & vbCrLf & "     - Added new French TD and SPG tanks (WoT v7.4)" & vbCrLf & "     - Renamed the Write File, Update File, and Delete File buttons." & vbCrLf & "     - Fixed a bug where the checkboxes wouldn't read the files correctly." & vbCrLf & "v1.0" & vbCrLf & "     - Initial Release"
        Dim writer As New StreamWriter(changelogPath, False)
        writer.Write(changelog)
        writer.close()
    End Sub

End Class